/*
 * Copyright (C) 2015 yixun All Rights Reserved.
 *
 * PartnerInfoDto.java
 */
package com.yixun.qfbao.model.dto;

import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import com.yixun.qfbao.model.ModelInfo;
import com.yixun.qfbao.model.PartnerInfo;

/**
 * [文件名称]<br>
 * PartnerInfoDto.java<br>
 * <br>
 * [文件描述]<br>
 * 合作机构 数据辅助类<br>
 * <br>
 * [修改记录]<br>
 * 2015-10-13 15:32:11 创建 陶俊代码生成器<br>
 *
 * @author 陶俊代码生成器
 * @version 1.00
 */
public class PartnerInfoDto extends PartnerInfo {
	private static final long serialVersionUID = 1L;
	/**
	 * 需要正序字段名
	 */
	private List<String> asc;
	/**
	 * 需要逆序字段名
	 */
	private List<String> desc;
	/**
	 * 排序SQL
	 */
	private String orders;
	/**
	 * 确认密码
	 */
	private String truePassWord;
	/**
	 * 账户类型中文
	 */
	private String accountTypeCN;
	/**
	 * 状态中文
	 */
	private String statusCN;
	/**
	 * 公司类型中文
	 */
	private String objectTypeCN;
	/**
	 * 用于区分员工，1-渠道商，20-分销商
	 */
	private Long companyType;

	/**
	 * 部门名称
	 */
	private String unitName;

	/**
	 * 角色名称
	 */
	private String roleName;

	/**
	 * 自定义条件
	 */
	private String sql;

	/**
	 * 公司ID集合
	 */
	private List<Long> companyIds;

	/**
	 *错误信息 （导入用）
	 */
	private String failure;
	/**
	 *手机号码集合 （导入用）
	 */
	private List<String> phoneList;
	/**
	 *公司id集合
	 */
	private List<String> higherIds;
	/**
	 *部门名称
	 */
	private String departmentName;
	/**
	 * 部门表id集合
	 */

	/**
	 * 手机验证码
	 */
	private String verificationCode;

	private List<Long> deptIds;
	/**
	 * 公司代码
	 */
	private String companyCode;

	/**
	 * 当前域名
	 */
	private String domain;

	/**
	 * 公司Uuid
	 */
	private String companyUuid;

	/**
	 * 开发上id
	 */
	private Long devCompanyId;

	/**
	 * 审核状态
	 */
	private String checkStatus;
	/*
	 * 系统id
	 */
	private String systemId;
    /**
     * 搜索文本（姓名、电话、部门）
     */
	private String searchContent;
    /**
     * 经纪人所属门店名称
     */
    private String storeName;
    /**
     * 经纪人所属组别名称
     */
    private String groupName;

    private Long staffId;
    
	/**
	 * 注册密码
	 */
	private String registerPwd;
	
	/**
	 * 部门权限链
	 */
	private String permissionCode;	
	/**
	 * 模板集合
	 */
	private List<ModelInfo> modelInfoList;
	
	private List<String> checkStatusList;

    public Long getStaffId() {
        return staffId;
    }

    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }

    public String getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}
	public List<Long> getDeptIds() {
		return deptIds;
	}

	public void setDeptIds(List<Long> deptIds) {
		this.deptIds = deptIds;
	}

	public String getDepartmentName() {
		return departmentName;
	}

	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	public List<String> getHigherIds() {
		return higherIds;
	}

	public void setHigherIds(List<String> higherIds) {
		this.higherIds = higherIds;
	}

	public List<String> getPhoneList() {
		return phoneList;
	}

	public void setPhoneList(List<String> phoneList) {
		this.phoneList = phoneList;
	}

	public Long getCompanyType() {
		return companyType;
	}

	public void setCompanyType(Long companyType) {
		this.companyType = companyType;
	}

	private List<Long> ids;

	private String oldpwd;

	/**
	 * 添加需要正序字段名
	 */
	public void addAsc(String col) {
		if (asc == null) {
			asc = new LinkedList<String>();
		}
		asc.add(col);
	}

	/**
	 * 清空需要正序字段名
	 */
	public void cleanAsc() {
		asc = null;
	}

	/**
	 * 添加需要逆序字段名
	 */
	public void addDesc(String col) {
		if (desc == null) {
			desc = new LinkedList<String>();
		}
		desc.add(col);
	}

	/**
	 * 清空需要逆序字段名
	 */
	public void cleanDesc() {
		desc = null;
	}

	/**
	 * 如果排序SQL为空根据需要正逆序的字段名拼接排序SQL
	 */
	public String getOrders() {
		StringBuilder orderStr = null;
		StringBuilder ascStr;
		StringBuilder descStr;
		if (orders == null) {
			if (asc != null) {
				ascStr = new StringBuilder();
				orderStr = new StringBuilder();
				String pex = "";
				for (String a : asc) {
					ascStr.append(pex + a);
					pex = ",";
				}
				orderStr.append(ascStr.toString() + " ASC");
			}
			if (desc != null) {
				descStr = new StringBuilder();
				String pex = "";
				for (String d : desc) {
					descStr.append(pex + d);
					pex = ",";
				}
				if (orderStr == null) {
					orderStr = new StringBuilder();
					orderStr.append(descStr.toString() + " DESC");
				} else {
					orderStr.append("," + descStr.toString() + " DESC");
				}
			}
			orders = orderStr != null ? orderStr.toString() : null;
		}

		return orders;
	}

	/**
	 * 设置排序SQL
	 */
	public void setOrders(String orders) {
		this.orders = orders;
	}

	private Date updateTimeBefore;
	private Date updateTimeAfter;
	private Date createTimeBefore;
	private Date createTimeAfter;

	public Date getUpdateTimeBefore() {
		return this.updateTimeBefore;
	}

	public void setUpdateTimeBefore(Date updateTimeBefore) {
		this.updateTimeBefore = updateTimeBefore;
	}

	public Date getUpdateTimeAfter() {
		return this.updateTimeAfter;
	}

	public void setUpdateTimeAfter(Date updateTimeAfter) {
		this.updateTimeAfter = updateTimeAfter;
	}

	public Date getCreateTimeBefore() {
		return this.createTimeBefore;
	}

	public void setCreateTimeBefore(Date createTimeBefore) {
		this.createTimeBefore = createTimeBefore;
	}

	public Date getCreateTimeAfter() {
		return this.createTimeAfter;
	}

	public void setCreateTimeAfter(Date createTimeAfter) {
		this.createTimeAfter = createTimeAfter;
	}

	public String getTruePassWord() {
		return truePassWord;
	}

	public void setTruePassWord(String truePassWord) {
		this.truePassWord = truePassWord;
	}

	public String getAccountTypeCN() {
		return accountTypeCN;
	}

	public void setAccountTypeCN(String accountTypeCN) {
		this.accountTypeCN = accountTypeCN;
	}

	public String getStatusCN() {
		return statusCN;
	}

	public void setStatusCN(String statusCN) {
		this.statusCN = statusCN;
	}

	public String getObjectTypeCN() {
		return objectTypeCN;
	}

	public void setObjectTypeCN(String objectTypeCN) {
		this.objectTypeCN = objectTypeCN;
	}

	public List<Long> getIds() {
		return ids;
	}

	public void setIds(List<Long> ids) {
		this.ids = ids;
	}

	public String getOldpwd() {
		return oldpwd;
	}

	public void setOldpwd(String oldpwd) {
		this.oldpwd = oldpwd;
	}

	public List<Long> getCompanyIds() {
		return companyIds;
	}

	public void setCompanyIds(List<Long> companyIds) {
		this.companyIds = companyIds;
	}

	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public String getSql() {
		return sql;
	}

	public void setSql(String sql) {
		this.sql = sql;
	}

	public String getFailure() {
		return failure;
	}

	public void setFailure(String failure) {
		this.failure = failure;
	}

	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	public String getVerificationCode() {
		return verificationCode;
	}

	public void setVerificationCode(String verificationCode) {
		this.verificationCode = verificationCode;
	}

	public Long getDevCompanyId() {
		return devCompanyId;
	}

	public void setDevCompanyId(Long devCompanyId) {
		this.devCompanyId = devCompanyId;
	}

	public String getDomain() {
		return domain;
	}

	public void setDomain(String domain) {
		this.domain = domain;
	}

	public String getCompanyUuid() {
		return companyUuid;
	}

	public void setCompanyUuid(String companyUuid) {
		this.companyUuid = companyUuid;
	}

	public String getSystemId() {
		return systemId;
	}

	public void setSystemId(String systemId) {
		this.systemId = systemId;
	}

    public String getSearchContent() {
        return searchContent;
    }

    public void setSearchContent(String searchContent) {
        this.searchContent = searchContent;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

	public String getRegisterPwd() {
		return registerPwd;
	}

	public void setRegisterPwd(String registerPwd) {
		this.registerPwd = registerPwd;
	}

	public List<ModelInfo> getModelInfoList() {
		return modelInfoList;
	}

	public void setModelInfoList(List<ModelInfo> modelInfoList) {
		this.modelInfoList = modelInfoList;
	}

	public List<String> getCheckStatusList() {
		return checkStatusList;
	}

	public void setCheckStatusList(List<String> checkStatusList) {
		this.checkStatusList = checkStatusList;
	}

	public String getPermissionCode() {
		return permissionCode;
	}

	public void setPermissionCode(String permissionCode) {
		this.permissionCode = permissionCode;
	}
	
}
